package com.junzhiit.nengji.cms.service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.junzhiit.nengji.cms.web.vo.LoginVO;
import com.junzhiit.nengji.cms.web.vo.RegisterBaseinfoVO;
import com.junzhiit.nengji.cms.web.vo.RegisterPersonalVO;
import com.junzhiit.nengji.cms.web.vo.ResultVO;
import com.junzhiit.nengji.cms.web.vo.ShopInfoEditVO;
import com.junzhiit.nengji.cms.web.vo.SystemUserSessionVO;

public interface AuthorizeService {

	public SystemUserSessionVO auth(LoginVO loginVO,HttpServletResponse response) throws Exception;
	
	/**
	 * 
	 * TODO 注册-基本信息
	 * @author PeterMo
	 * @time 2018年1月16日 上午10:56:50
	 * @return ResultVO
	 */
	public SystemUserSessionVO registerBaseinfo(RegisterBaseinfoVO registerBaseinfoVO,HttpServletResponse response);
	
	/**
	 * 
	 * TODO 注册-店铺信息
	 * @author PeterMo
	 * @time 2018年1月16日 上午10:57:09
	 * @return ResultVO
	 */
	public ResultVO registerShopAdd(RegisterPersonalVO registerPersonalVO,String sessionId);
	
	/**
	 * 
	 * TODO 注册-营业信息
	 * @author PeterMo
	 * @time 2018年1月16日 上午10:57:09
	 * @return ResultVO
	 * 
	 */
	public ResultVO registerBusiness(ShopInfoEditVO shopInfoEditVO);
	
	/**
	 * 
	 * TODO 注册选择套餐
	 * @author PeterMo
	 * @time 2018年1月17日 下午2:58:18
	 * @return ResultVO
	 */
	public ResultVO registerMeal(String setMealId,String sessionId);
	
	/**
	 * 
	 * TODO 登出
	 * @author PeterMo
	 * @time 2018年5月30日 上午9:38:28
	 * @return void
	 */
	public void logout(String sessionId,HttpServletRequest request,HttpServletResponse response);
	
	/**
	 * 
	 * TODO 根据手机号码-找回密码
	 * @author PeterMo
	 * @time 2018年2月1日 下午1:49:09
	 * @return ResultVO
	 */
	public ResultVO retrievePwdPhone(String passwordToken);
	
	/**
	 * 
	 * TODO 发送手机验证码(找回密码)
	 * @author PeterMo
	 * @time 2018年2月1日 下午4:25:58
	 * @return ResultVO
	 */
	public ResultVO getPhoneCodePwd(String mobilePhone);
	
	/**
	 * 
	 * TODO 找回密码(邮箱发送验证码)
	 * @author PeterMo
	 * @time 2018年2月1日 下午4:36:27
	 * @return ResultVO
	 */
	public ResultVO retrievePwdSetEmail(String email);
	/**
	 * 
	 * TODO 根据邮箱-找回密码
	 * @author PeterMo
	 * @time 2018年2月1日 下午4:34:05
	 * @return ResultVO
	 */
	public ResultVO retrievePwdEmail(String passwordToken);
	
}
